{{tag>Dapper Gutsy Hardy Intrepid messagerie_instantanée pidgin gaim netsoul}}

----
====== NetSoul : client netsoul ======


Netsoul est un protocole de communication réseau réservé aux étudiants du groupe Ionis.

===== Client rubysoul-ng =====

Si vous n'utilisez pas pidgin vous pouvez installer le client netsoul téléchargeable à cette adresse:
[[http://code.google.com/p/rubysoul-ng/]]

Pour le faire marcher il suffit d'installer les paquets suivant
[[:tutoriel:comment_installer_un_paquet]] **[[apt>ruby ruby-dev ruby-gnome2]]**

Télécharger l'archive à cette adresse [[http://code.google.com/p/rubysoul-ng/downloads/detail?name=rubysoul-ng_0.9.8b.zip&can=1&q=]]
décompresser le.

Pour le lancer placer vous à l'intérieur du dossier décompresser:
<code>ruby rubysoul-ng.rb</code>


===== Qu'est ce que gaim-netsoul ? =====

Un add on à pidgin permet d'utiliser ce protocole depuis ce logiciel (anciennement gaim).
Vous pouvez trouvez quelques informations sur Pidgin : 
  * Sur [[http://fr.wikipedia.org/wiki/Pidgin_(logiciel)|Wikipédia]]
  * Sur [[pidgin|la doc ubuntu]]




==== Procédure d'installation automatique ====

Téléchargez le plugin NetSoul pour Pidgin ici (compilé pour x86) : [[http://tombcore.free.fr/netsoul_0.2.2-1_i386.deb|Packet netsoul_0.2.2-1_i386.deb pour Pidgin (x86)]]

==== Procédure d'installation manuelle ====


**1/ Installer le packet pidgin-dev**

<code>sudo apt-get install pidgin-dev libc6-dev g++ automake</code>

**2/ Télécharger les Sources du projet**

<code>wget http://freefr.dl.sourceforge.net/sourceforge/gaim-netsoul/gaim-netsoul-0.2.2.tar.gz</code>
[[http://sourceforge.net/projects/gaim-netsoul/|http://sourceforge.net/projects/gaim-netsoul/]]


**3/ "Détarer" les sources**

<code>tar -xf gaim-netsoul-0.2.2.tar.gz
cd gaim-netsoul-0.2.2</code>

**3bis/ Pour les architectures 64 bits uniquement**

Pour que le plugin soit fonctionnel sous une architecture 64 bits, commencez par ouvrir le fichier gaim-netsoul-0.2.2/src/ns_utils.c avec votre editeur et à la ligne 243 (fonction crypt_pass) remplacez :
<code>unsigned      len;</code>
par :
<code>size_t        len;</code>

**4/ Configurer le packet avec le bon préfixe**

<code>./configure --prefix=/usr</code>


**5/ Construire le packet puis l'installer**

<code>make
sudo make install</code>

Une fois ces deux commandes terminées, il ne vous reste plus qu'a redémarrer Pidgin.

==== Utilisation  ====

Vous verrez dans le menu déroulant des protocoles apparaitre NetSoul. Configurez un compte dessus et le tour est joué !

{{http://home.tuxlinux.fr/DATA/screenshot_ns.jpg}}


==== Si ça marche pas ! ====


**Mauvais répertoire pour les sources**

Vous pouvez essayer ceci :
<code>
sudo cp /usr/local/share/pixmaps/pidgin/protocols/16/* /usr/share/pixmaps/pidgin/protocols/16/
sudo cp /usr/local/share/pixmaps/pidgin/protocols/22/* /usr/share/pixmaps/pidgin/protocols/22/
sudo cp /usr/local/share/pixmaps/pidgin/protocols/48/* /usr/share/pixmaps/pidgin/protocols/48/
sudo cp /usr/local/lib/pidgin/libnetsoul.* /usr/lib/pidgin/
</code>

Si le script configure a correctement été exécuté, ceci n'est pas nécessaire.
Préférez :
<code>
sudo make uninstall
./configure --prefix=/usr
sudo make install
</code>
À cette bidouille.

**Problème de connexion au serveur netsoul**

Vérifier que, dans les options du compte dans la partie méthodes de connexion, l'option "No Proxy" ou "Pas de serveur mandataire" est bien activée.


**Segfault régulier**

Afin de corriger un des différents segfaults, il se peut que vous ayez à éditer manuellement le fichier src/ns_listen.c et remplacer la ligne 206 par ceci :
<code>
    if (tab[1])
      nc->statetime = atol(tab[1]);
    else
      nc->statetime = time(NULL);
</code>
Ci-joint le diff :
<code>
--- ns_listen.c	2010-10-05 19:17:09.000000000 +0200
+++ ns_listen.c.new	2010-10-05 19:13:13.000000000 +0200
@@ -203,7 +203,10 @@
   } else {
     // if id exists in list, update it
     nc->state = ns_text_to_state(*tab);
-    nc->statetime = atol(tab[1]);
+    if (tab[1])
+      nc->statetime = atol(tab[1]);
+    else
+      nc->statetime = time(NULL);
   }
   g_free(speclogin);
   g_strfreev(tab);
</code>